﻿package hejie.admin.dao;

import java.util.List;
import publics.model.Employee;
/**
 * @author  hejie
 * @version  1.0  
 * @explain 员工增删查改Dao层接口
 */

public interface EmployeeDao {
	
	 
	/**
	 * 增加员工-保存
	 * @param emp
	 * @return 主键id
	 */
	public Integer save(Employee employee);
	/**
	 * 修改员工信息
	 * @param employee  员工 
	 * @return  boolean 成功 true ，失败 false
	 */
	public boolean update(Employee employee);
	 /**
     * 根据ID删除员工
     * @param name 需要删除的员工id
     * @return boolean
     */  
    public boolean deleteById(Integer id);
    /**
	 * 根据实例删除员工
	 * @param employee
	 * @return boolean
	 */
	public boolean delete(Employee employee);
	
	/**
	 * 据员工id查找 
	 * @param 员工id
     * @return id对应的员工
	 */
	public Employee findById(Integer id);
	/**
	 * 根据名字查找员工
     * @param name 员工的名字
     * @return 名字对应的员工
	 */
    public List<Employee> findByStaffNo(String staffNo);
	/**
     * 根据用户名和密码查询员工
     * @param user 员工的用户名
     * @param pass 员工的密码
     * @return 符合用户名和密码的员工
     */ 
   public Employee findByUserAndPass(String user , String pass);
	/**
	 * 查询所有员工信息	
	 * @param offset 起始条目偏移量（offset == （页码-1）*每页条数  ）
	 * @param pageSiz  查询每页的条目数
	 * @return 全部员工
	 */
   public List<Employee> findByPage(final String  hql,final int offset, final int pageSize);
   /**
	 * 分页查找的总记录
	 * @param sql 查询语句
	 * @return 记录总数
	 */
	public int findByCount(String sql); 
}
